package com.york.tinyrpc.protoss.config;

import com.york.tinyrpc.protoss.constant.RegistryCenterTypeConstants;
import lombok.Data;

/**
 * RPC 框架注册中心配置
 * todo protoss版本：先实现Etcd类型的注册中心，之后扩展多类型
 * 不局限于Etcd注册中心，可扩展为任意类型，默认为Etcd
 */
@Data
public class RegistryCenterConfig {

    /**
     * 注册中心类别
     */
    private String registryCenterType = RegistryCenterTypeConstants.ETCD_REGISTRY_CENTER;

    /**
     * 注册中心地址
     * etcd 本地启动占用2379和2380端口
     * 2379：提供HTTP APi服务，直接和etcdctl客户端交互
     * 2380：集群中节点间通讯
     */
    private String address = "http://localhost:2380";

    /**
     * 用户名
     */
    private String username;

    /**
     * 密码
     */
    private String password;

    /**
     * 超时时间（单位毫秒）
     */
    private Long timeout = 10000L;

}
